-
Notifications
You must be signed in to change notification settings - Fork 413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug 1861026: daemon: perform other rpm-ostree operations after OS rebase #2029
Bug 1861026: daemon: perform other rpm-ostree operations after OS rebase #2029
Conversation
@sinnykumari: No Bugzilla bug is referenced in the title of this pull request. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Going to test it locally to ensure it fixes the bug |
1271e11
to
7089dc3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
return err | ||
} | ||
|
||
defer func() { | ||
if retErr != nil { | ||
if err := dn.switchKernel(newConfig, oldConfig); err != nil { | ||
retErr = errors.Wrapf(retErr, "error rolling back Real time Kernel %v", err) | ||
if err := dn.applyOSChanges(newConfig, oldConfig); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not strictly related to this change but we're now grouping the "defer rollback" of the kargs/kernel type switch - I was going to comment about how this might cause us to incorrectly roll kargs back if we failed at the kernel type switch but then I realized:
The only defer rollback we need is the removePendingDeployment()
- that reverts everything.
(I think that defer will run last and hence win, so this code is fine as is)
pkg/daemon/update.go
Outdated
args := []string{"cleanup", "-p"} | ||
_, err := runGetOut("rpm-ostree", args...) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
args := []string{"cleanup", "-p"} | |
_, err := runGetOut("rpm-ostree", args...) | |
_, err := runGetOut("rpm-ostree", "cleanup", "-p") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
We perform operations like rt-kernel switch from packages available in the latest machine-os-content to which we are going to rebase OS. It makes sense to overlay additional packages after performing OS rebase. This also prevents issues like missing dependencies which may be now already part of BaseOS. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1861026
7089dc3
to
c4295ad
Compare
looks fine locally, I miss #1766 and at the same time I am happy that at least we have this in 4.6+ Should be good to go. /hold cancel |
@sinnykumari: This pull request references Bugzilla bug 1861026, which is invalid:
Comment In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/bugzilla refresh |
@sinnykumari: This pull request references Bugzilla bug 1861026, which is invalid:
Comment In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Overriding BZ check since 4.6 was fixed due to underlying, non bug related changes. |
etcPivotFile = "/etc/pivot/image-pullspec" | ||
runPivotRebootFile = "/run/pivot/reboot-needed" | ||
// etcPivotFile is used for 4.1 bootimages and is how the MCD | ||
// currently communicated with this service. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Unclear as to if this means now or previously. Currently would indicate it's in use now while communicated would indicate the past.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was noted this is a direct pull in from https://github.com/openshift/machine-config-operator/pull/1809/files#r442404093
tests are passing, can we have lgtm :) |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ashcrow, cgwalters, sinnykumari The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cherry-pick release-4.4 |
@sinnykumari: once the present PR merges, I will cherry-pick it on top of release-4.4 in a new PR and assign it to you. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest Please review the full test history for this PR and help us cut down flakes. |
2 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
@sinnykumari: All pull requests linked via external trackers have merged: Bugzilla bug 1861026 has been moved to the MODIFIED state. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@sinnykumari: #2029 failed to apply on top of branch "release-4.4":
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
One note about this: Anyone affected by this will need to apply this update before they try an OS update. From this comment:
Since 4.4.17 has already shipped this requires manual intervention:
|
…s after OS rebase This fixes the issues which we have today during cluster install involving multiple rpm-ostree operations such as both OS rebase and rt-kernel switch. PR openshift/machine-config-operator#2029 fixes the issue for day2 and we need to update boot images to include machine-config-daemon containing the fixes for day1. boot images update contains machine-config-daemon-4.5.0-202008280032.p0.git.2558.a93c8dc.el8 which contains the necessary fixes. Used: $ hack/update-rhcos-bootimage.py https://releases-art-rhcos.svc.ci.openshift.org/art/storage/releases/rhcos-4.5/45.82.202008280129-0/x86_64/meta.json amd64
We perform operations like rt-kernel switch from packages
available in the latest machine-os-content to which we are going
to rebase OS. It makes sense to overlay additional
packages after performing OS rebase. This also prevents issues
like missing dependencies which may be now already part of BaseOS.
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1861026